<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
ssh -v -p 8081 192.168.235.100

<section>
    <h4>前端常用工具</h4>
    <ul>
        <li>UTools</li>
        <li>Xmind</li>
        <li>FeHelper(浏览器插件)</li>
    </ul>
</section>
<section>
    <h4>mac</h4>
    <ol>
        <li>lsof -i:8000 查看某个端口</li>
        <li>kill 85877终止进程</li>
    </ol>
</section>
<section>
    <h4>whistle抓包</h4>
    <ol>
        <li>安装：sudo npm install -g whistle</li>
        <li>安装后运行：w2 help</li>
        <li>开始：w2 start</li>
        <li>重新开始：w2 restart</li>
        <li>停止：w2 stop</li>
        <li>调试方式：w2 run</li>
    </ol>
</section>
<section>
    <h4>brew (cask代表可有可无)</h4>
    <ol>
        <li>brew help</li>
        <li>brew search --</li>
        <li>brew install --cask --（带界面安装）</li>
        <li>brew install --（不带界面安装）</li>
        <li>brew info --</li>
        <li>brew (cask) upgrade -- (更新软件)</li>
        <li>brew (cask) outdated -- (查看哪些软件需要更新))</li>
        <li>brew uninstall -- (卸载软件)</li>
        <li>brew list（不带界面）</li>
        <li>brew list --cask（带界面）</li>
        <li>which -- 如：which mongod (查看mongodb路径)</li>
    </ol>
</section>
<section>
    <h4>formulae（公式）和cask（木桶）</h4>
    <ol>
        <li>formulae是不带界面的软件</li>
        <li>casks是带界面的软件</li>
    </ol>
</section>
<section>
    <h4>brew tap</h4>
    <ol>
        <li>brew tap 没有参数，表示更新已经存在的仓库</li>
        <li>brew tap 有参数，表示引用第三方仓库，如brew tap mongodb/brew，引用mongodb/brew仓库，这样就可以安装mongodb/brew中的内容</li>
    </ol>
</section>
<section>
    <h4>mac mongodb 安装</h4>
    <ol>
        <li>brew tap mongodb/brew</li>
        <li>brew install mongodb-community</li>
        <li>mongod --verion查看版本信息</li>
        <li>启动mongodb：brew services start mongodb-community，浏览器打开localhost:27017，或打开窗口书mongo</li>
        <li>停止mongodb：brew services stop mongodb-community</li>
        <li>启动mongodb：mongod -f /opt/homebrew/etc/mongod.conf (--port 27017) 最大不超过65536</li>
        <li>停止mongodb：ctrl + c</li>
    </ol>
</section>
<sectioin>
    <h4>mongo db 概念</h4>
    <ol>
        <li>数据库</li>
        <li>集合</li>
        <li>文档（这个需要手动创建）</li>
    </ol>
</sectioin>
<section>
    <h4>mac mongodb 基本操作</h4>
    <ol>
        <li>show dbs 或 show database 查看有几个数据库</li>
        <li>show collections 查看有几个集合</li>
        <li>use -- 进入指定数据库</li>
        <li>db.user001.insert({name: 'zhangsan', age: 19, sex: 'man'}) 插入数据</li>
        <li>db.user001.find() 查询数据</li>
    </ol>
</section>
<section>
    <h4>npm</h4>
    <ul>
        <li>查看全局安装位置：npm root -g</li>
        <li>查看全局安装位置：npm config get prefix</li>
        <li>修改全局安装位置：npm config set prefix "C:\Program Files\nodejs\node_global"</li>
        <li>修改全局安装位置：npm config set cache "C:\Program Files\nodejs\node_cache"</li>
        <li>查看npm当前镜像源: npm config get registry</li>
        <li>全局安装yrm：npm i yrm -g</li>
        <li>--save-dev === -D</li>
        <li>--save === -S</li>
        <li>
            <div>假如执行这个命令：node --inspect-brk script.js arg1 arg2</div>
            <div>process.execArgv拿到的是包括 Node.js 自身的调试参数：[ '--inspect-brk' ]</div>
            <div>process.argv拿到的是不包括 Node.js 自身的调试参数：[ '/path/to/node', '/path/to/script.js', 'arg1', 'arg2' ]</div>
        </li>
        <li>
            <div>process.cwd(): 返回当前 Node.js 进程的工作目录，不同的目录下执行 Node.js 程序，process.cwd() 返回的结果可能会有所不同。</div>
            <div>__dirname: 当前模块所在的目录的绝对路径，它的值在模块加载时就被确定，不随执行位置的改变而改变。</div>
        </li>
    </ul>
</section>
<section>
    <h4>yarn</h4>
    <ul>
        <li>查看全局安装位置：yarn global dir</li>
        <li>查看yarn当前镜像源: yarn config get registry</li>
        <li>设置淘宝镜像：yarn config set registry https://registry.npm.taobao.org -g</li>
        <li>全局安装yrm：yarn global add yrm</li>
        <li>--dev === -D</li>
        <li>不写就是生产 === -S</li>
    </ul>
</section>
<section>
    <h4>pnpm</h4>
    <ul>
        <li>pnpm install</li>
        <li>pnpm add 包名</li>
        <li>pnpm remove 包名</li>
        <li>pnpm 命令</li>
        <li>pnpm store path 安装路径</li>
        <li>pnpm store prune   清除</li>
        <li>硬连接和软连接、存储空间</li>
        <li>解决每个项目都要安装相同依赖的问题</li>
    </ul>
</section>
<section>
    <h4>yrm</h4>
    <ul>
        <li>查看所有资源：yrm ls</li>
        <li>使用某个资源：yrm use 资源名称</li>
        <li>测试资源速度：yrm test 资源名称</li>
    </ul>
</section>
<section>
    <h4>vue</h4>
    <ul>
        <li>查看webpack所有配置：vue inspect(或者npx vue-cli-service inspect)</li>
        <li>查看webpack所有规则：vue inspect --rules</li>
        <li>查看webpack svg规则：vue inspect --rule svg</li>
        <li>`npx vue-cli-service inspect --mode development >> webpack.config.dev.js`
            把开发环境的配置输出到webpack.config.dev.js文件中
        </li>
        <li>使用vue-cli之前，使用webpack-dev-server、webpack 打包</li>
        <li>使用vue-cli之后，使用vue-cli-service serve、vue-cli-service build 打包</li>
    </ul>
</section>
<section>
    <ul>
        <li>.env 默认加载</li>
        <li>.env.dev 对应 vite --mode dev</li>
        <li>.env.sit 对应 vite --mode sit</li>
        <li>.env.prod 对应 vite --mode prod</li>
        <li>import { defineConfig, loadEnv } from 'vite'</li>
        <li>vite, vite build</li>
    </ul>
</section>
<section>
    <h4>管理开机启动项</h4>
    <ul>
        <li>查看注册表: cmd->regedit</li>
        <li><a href="https://www.2016win10.com/w10/17971.html">管理开机启动项</a></li>
    </ul>
</section>
<section>
    <h4>nodejs</h4>
    <ol>
        <li>process.cwd 返回执行当前命令时，所处的目录</li>
        <li>__dirname   返回命令所在的文件，所处的目录</li>
        <li>myProject/utils/test.js</li>
        <li>在test.js分别写入console.log(__dirname) 和 console.log(process.cwd())</li>
        <li>进入myProject/utils, 执行node ./test.js</li>
        <li>那么console.log(__dirname) 输出的结果是：myProject/utils</li>
        <li>那么console.log(process.cwd()) 输出的结果是：myProject/utils</li>
        <li>进入myProject, 执行node ./utils/test.js</li>
        <li>那么console.log(__dirname) 输出的结果是：myProject/utils</li>
        <li>那么console.log(process.cwd()) 输出的结果是：myProject</li>
        <li>path.resolve 参数都是字符串 如果有/，就以最后一个为准</li>
        <li>path.join 参数都是字符串 字符串拼接</li>
    </ol>
</section>
<section>
    <h4>nvm</h4>
    <ol>
        <li>ls 查看版本</li>
        <li>ls install 安装版本</li>
        <li>touch .bash_profile 创建局部变量</li>
        <li>open .bash_profile 打开局部变量</li>
        <li>source .bash_profile 激活局部变量</li>
        <li>touch ~/.zshrc 创建全局变量</li>
        <li>open ~/.zshrc 打开全局变量</li>
        <li>source ~/.zshrc 激活全局变量</li>
    </ol>
</section>
<section>
    <h4>操作</h4>
    <ol>
        <li>rm -r app02/</li>
        <li>cp -R app01/ app02/</li>
    </ol>
</section>
<pre>
    // git add .
    //     git commit -m "解决冲突并保存更改"
    // git commit -m "resolve merge conflicts"

    // $ git add .
    //     $ git commit -m "Resolved merge conflict"
    // $ git push
</pre>
<ol>
    <li>mac安装mysql</li>
    <li>
        <pre>
            PATH="$PATH":/usr/local/mysql/bin （添加环境变量）
            mysql -u root -p （连接mysql）
            show databases; （显示所有数据库列表）
            exit (退出mysql数据库)
            ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
            如果找不到mysql，请按照如下方法：
            nano ~/.zshrc
            export PATH="/usr/local/mysql/bin:$PATH"
            source ~/.zshrc
        </pre>
    </li>
    <li>图形化工具:navicat for mysql</li>
</ol>
<ol>
    <li>mac安装postgresql</li>
    <li>网上找postgresql，下载安装</li>
    <li>图形化工具:pgAdmin</li>
</ol>
<ol>
    <li>mongodb</li>
    <li>连接数据库 mongodb</li>
    <li>查看数据库的列表 show dbs</li>
    <li>图形化工具:Robo 3T</li>
</ol>
<ol>
    <li>redis</li>
    <li>brew install redis (安装redis)</li>
    <li>redis-server (启动服务端)</li>
    <li>redis-cli (启动客户端)</li>
    <li>图形化工具:redisinsight</li>
</ol>
<ol>
    <li>kafka</li>
    <li>brew install kafka</li>
    <li>brew services stop kafka</li>
    <li>brew services stop zookeeper</li>
    <li>brew services start zookeeper</li>
    <li>brew services start kafka</li>
    <li>brew --prefix kafka (查看kafka安装路径)</li>
    <li>cd /opt/homebrew/Cellar/kafka/3.4.0 (进入Kafka路径，路径选自己的)</li>
    <li>find . -name "kafka-run-class.sh" (kafka-run-class.sh 文件)</li>
</ol>
<ol>
    <li>查看启动的服务：brew services list</li>
    <li>vim /usr/local/etc/kafka/server.properties</li>
    <li>listeners=PLAINTEXT://localhost:9092</li>
</ol>
<ol>
    <li>react-native</li>
    <li>npx react-native init AwesomeProject</li>
    <li>cd AwesomeProject</li>
    <li>yarn ios</li>
</ol>
<ol>
    <li>gem source l (查看gem源)</li>
    <li>gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/ (添加清华源，删除原始源)</li>
    <li>gem sources --remove https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --add https://rubygems.org/ (添加清华源，删除原始源)</li>
</ol>
<ol>
    <li>brew install python</li>
</ol>
<ol>
    <li>pyenv安装</li>
    <li>brew install openssl readline sqlite3 xz zlib</li>
    <li>brew install pyenv</li>
    <li>
        <pre>
            export PYENV_ROOT="$HOME/.pyenv"
            export PATH="$PYENV_ROOT/bin:$PATH"
            eval "$(pyenv init --path)"
            eval "$(pyenv virtualenv-init -)"
        </pre>
    </li>
    <li>source ~/.bashrc</li>
    <li>pyenv --version</li>
    <li>pyenv install 3.9.6</li>
</ol>
<ol>
    <li>pyenv基本使用</li>
    <li>pyenv --version （查看自己版本）</li>
    <li>pyenv install --list</li>
</ol>
<ol>
    <li>brew install pyenv-virtualenv</li>
</ol>
<ol>
    <li>docker build -t myapp .</li>
    <li>docker run -p 3000:3000 myapp</li>
</ol>
<ol>
    <li>brew install docker-compose</li>
</ol>
<ol>
    <li>pod repo 查看CocoaPods资源库</li>
    <li>pod --version 查看CocoaPods版本</li>
    <li>pod install --verbose 安装资源，并且可以看到下载进度</li>
    <li>pod cache clean --all</li>
</ol>
</body>
</html>
